package com.longcai.service.nearbyshop;

import java.util.Map;

import org.springframework.web.multipart.MultipartFile;

import com.baomidou.mybatisplus.extension.service.IService;
import com.longcai.advice.RollBackExecption;
import com.longcai.bean.ApiResult;
import com.longcai.entity.nearby.ClyjNearbyPackage;
import com.longcai.entity.nearby.vo.ClyjNearbyPackageQueryVo;
import com.longcai.entity.nearby.vo.ClyjNearbyPackageVo;
/**
 * <p>
 * 商铺套餐表 服务类
 * </p>
 *
 * @author ZJ
 * @since 2019-03-26
 */
public interface ClyjNearbyPackageService extends IService<ClyjNearbyPackage> {
	/****
	 * 查询团购商品列表
	 * @param clyjNearbyPackageVo
	 * @return
	 */
	ApiResult<?> queryNearbyPackageList(ClyjNearbyPackageQueryVo clyjNearbyPackageVo);
	
	/****
	 * 初始化团购商品列表，   分栏数量(在售数量，未审核数量，仓库中数量)
	 * @param clyjNearbyPackageVo
	 * @return
	 */
	Map<String, Integer>  queryNearbyPackageCount();

	/****
	 * 更新团购商品
	 * @param clyjNearbyPackageGoodsVo
	 * @return
	 * @throws Exception 
	 */
	ApiResult<?> updateNearbyPackage(ClyjNearbyPackageVo clyjNearbyPackageVo,MultipartFile[]  packageBanner,MultipartFile mainPushPic) throws Exception;
	/****
	 * 保存团购商品
	 * @param clyjNearbyPackageGoodsVo
	 * @return
	 */
	ApiResult<?> saveNearbyPackage(ClyjNearbyPackageVo clyjNearbyPackageVo,MultipartFile[]  packageBanner,MultipartFile mainPushPic)throws Exception;
	/****
	   * 批量删除
	   * @param 
	   * @return
	 * @throws RollBackExecption 
	 * @throws Exception 
	 */
	ApiResult<?> batchDelete(String[] packageIdArr) throws RollBackExecption;
	/****
	   * 批量下架
	   * @param 
	   * @return
	 * @throws RollBackExecption 
	 * @throws Exception 
	 */
	ApiResult<?> batchPullOffShelves(String[] packageIdArr) throws RollBackExecption;

	ApiResult<?> putOnsale(String packageId, String type);

	ApiResult<?> cheeckOnlyMainPush(String mainPush);

}
